home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 June / PersonalComputerWorld-June2009-CoverdiscCD.iso / Software / Freeware / Adobe AIR 1.5.1 / AdobeAIRInstaller.exe / setup.swf / scripts / mx / utils / NameUtil.as < prev    next >
Encoding:
Text File  |  2009-02-12  |  1.9 KB  |  70 lines

  1. package mx.utils
  2. {
  3.    import flash.display.DisplayObject;
  4.    import flash.utils.getQualifiedClassName;
  5.    import mx.core.IRepeaterClient;
  6.    import mx.core.mx_internal;
  7.    
  8.    use namespace mx_internal;
  9.    
  10.    public class NameUtil
  11.    {
  12.       mx_internal static const VERSION:String = "3.0.0.0";
  13.       
  14.       private static var counter:int = 0;
  15.       
  16.       public function NameUtil()
  17.       {
  18.          super();
  19.       }
  20.       
  21.       public static function displayObjectToString(param1:DisplayObject) : String
  22.       {
  23.          var _loc2_:String = null;
  24.          var _loc4_:String = null;
  25.          var _loc5_:Array = null;
  26.          var _loc3_:DisplayObject = param1;
  27.          while(_loc3_ != null)
  28.          {
  29.             if(_loc3_.parent && _loc3_.stage && _loc3_.parent == _loc3_.stage)
  30.             {
  31.                break;
  32.             }
  33.             _loc4_ = _loc3_.name;
  34.             if(_loc3_ is IRepeaterClient)
  35.             {
  36.                _loc5_ = IRepeaterClient(_loc3_).instanceIndices;
  37.                if(_loc5_)
  38.                {
  39.                   _loc4_ += "[" + _loc5_.join("][") + "]";
  40.                }
  41.             }
  42.             _loc2_ = _loc2_ == null ? _loc4_ : _loc4_ + "." + _loc2_;
  43.             _loc3_ = _loc3_.parent;
  44.          }
  45.          return _loc2_;
  46.       }
  47.       
  48.       public static function createUniqueName(param1:Object) : String
  49.       {
  50.          if(!param1)
  51.          {
  52.             return null;
  53.          }
  54.          var _loc2_:* = getQualifiedClassName(param1);
  55.          var _loc3_:int = int(_loc2_.indexOf("::"));
  56.          if(_loc3_ != -1)
  57.          {
  58.             _loc2_ = _loc2_.substr(_loc3_ + 2);
  59.          }
  60.          var _loc4_:int = int(_loc2_.charCodeAt(_loc2_.length - 1));
  61.          if(_loc4_ >= 48 && _loc4_ <= 57)
  62.          {
  63.             _loc2_ += "_";
  64.          }
  65.          return _loc2_ + counter++;
  66.       }
  67.    }
  68. }
  69.  
  70.